package com.oa.ylms.apps.business.goods;

import java.util.List;

import com.oa.ylms.apps.entity.goods.GoodCategoryValue;

public interface IGoodsCategoryService {
	/**
	 * 列出所有物资类型(可以根据可见性选择)
	 * @return
	 * @throws Exception
	 */
	public List<GoodCategoryValue> queryAll(int usability) throws Exception;
	/**
	 * 修改物资类型
	 * @param categoryId
	 * @param categoryName
	 * @param enable
	 * @return true if update success.
	 * @throws Exception
	 */
	public boolean modifyGoodsCategory(Integer categoryId, String categoryName,
			int enable) throws Exception;
	/**
	 * 删除物资类型，将物资类型状态置为“-1”
	 * @param categoryId
	 * @return true if update success.
	 * @throws Exception
	 */
	public boolean deleteGoodsCategory(Integer categoryId) throws Exception;
	/**
	 * 删除多条物资类型
	 * @param categoryIds
	 * @return
	 * @throws Exception
	 */
	public String deleteGoodsCategorys(String categoryIds)throws Exception;
	/**
	 * 添加一条物资信息
	 * @param categoryName
	 * @return categoryId
	 * @throws Exception
	 */
	public int addGoodsCategory(String categoryName) throws Exception;
	/**
	 * 根据物资类型Id查询物资类型
	 * @param categoryId
	 * @return
	 * @throws Exception
	 */
	public GoodCategoryValue queryByCateId(Integer categoryId) throws Exception;
	/**
	 * 将物资类型状态设置为不可见
	 * @param categoryId
	 * @return true if update success
	 * @throws Exception
	 */
	public boolean toDisable(int categoryId) throws Exception;
	/**
	 * 将物资类型状态设置为不可见
	 * @param categoryId
	 * @return true if update success
	 * @throws Exception
	 */
	public boolean toEnable(int categoryId) throws Exception;
}
